This invention relates generally to graphical user interfaces for computer systems. More particularly, it relates to an improved user interface which allows user defined window hatches to reveal portions of underlying windows in an overlying window in a windowing user interface.
It is typical in many graphical user interfaces to use windows for displaying the interface of various applications and tasks which are running in a current computer system session. The window is generally a rectangular region in which text or graphical information is presented to the user regarding output from or input to the particular owning task or application. As the "real estate" on the computer display is limited, most modern graphical user interfaces also allow the windows to overlap each other so that most of the display space is devoted to the window owned by the application or task to which the user is currently devoting his attention. This in focus or primary window appears to be on top of the interface. An unfortunate side effect is that at least a portion of, if not all, an underlying window is obscured by the top window. Although obscured, the computer will continue to write to underlying windows with output from the respective owning application. At times, however, the degree to which information can be buried by the plethora of windows can be very frustrating to the user.
It is possible to close, reposition or minimize the overlying windows to reveal needed information which is obscured. However, if the user needs information in both windows, this involves a great deal of manipulation by the user of window controls, traversing between windows repetitively. In such a case, it is inconvenient to close or minimize the windows to repetitively change the focus of the interface bring one or the other window to the top of the user interface. Further, repositioning may be problematic where the needed information is present both in the top window and a lower window. Due to the way that the respective windows are formatted, it can be impossible for the needed information to coexist on the screen at the same time.
There are situations where it would be convenient to be able to observe parts of lower windows which are covered by the top window without rearranging the desktop by moving or minimizing windows or changing the user focus in the user interface. For example, the user may wish to periodically check the progress of a process running in the background without disturbing the window to which his primary attention is directed. There are numerous data entry operations where it would be convenient to refer to underlying windows.
The prior art has recognized the problem addressed by the present invention. One solution proposed by many has been to make the overlying window completely or partially transparent. In some solutions, the transparency is activated if a top window overlies an object which has been designated to be shown through an overlying window. Other solutions suggest blending all the windows in the interface so that all of the objects in the interface in any window may be perceived. However, in these interfaces, the display gets very confusing as to which objects belong to a particular window, particularly in overlapping regions. When very many windows are displayed in an interface, this approach is unworkable. Further, most of these solutions are "all or nothing", either all of the windows are made transparent or all of an underlying object is exposed. Many times these actions occur without user direction. In other words, the user is not allowed to tailor the interface to his current needs.
Another solution proposed has been to define a "port hole" window in a portion of a window which may be covered by subsequent actions in the interface. The designated portion is always presented on top of the interface. Thus, there seems to be a port hole in the overlying window.
The port hole solution allows the user to tailor his interface. However, there are several problems with this approach; some of these problems also occur in the transparent window approaches described above. First, it requires that the user anticipate what information will need to be kept on top of the interface. A user may not realize until later that the information is desired; the user would be required to backtrack to designate the information to be surfaced. Second, the prior art methods do not give the user a good idea of the window structure of the interface. Third, it does not allow the user to place where the underlying information comes through the top window so that it is in a convenient place in the top window, i.e. does not hide or confuse important information.
This invention represents an improved solution to this problem.